home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / balloo1 / balloont.ctl < prev    next >
Text File  |  1999-09-05  |  6KB  |  231 lines

  1. VERSION 5.00
  2. Begin VB.UserControl BalloonTip 
  3.    ClientHeight    =   240
  4.    ClientLeft      =   0
  5.    ClientTop       =   0
  6.    ClientWidth     =   225
  7.    EditAtDesignTime=   -1  'True
  8.    InvisibleAtRuntime=   -1  'True
  9.    ScaleHeight     =   16
  10.    ScaleMode       =   3  'Pixel
  11.    ScaleWidth      =   15
  12.    ToolboxBitmap   =   "BalloonTip.ctx":0000
  13.    Begin VB.Timer tmrCtrl 
  14.       Interval        =   1000
  15.       Left            =   360
  16.       Top             =   0
  17.    End
  18. End
  19. Attribute VB_Name = "BalloonTip"
  20. Attribute VB_GlobalNameSpace = False
  21. Attribute VB_Creatable = True
  22. Attribute VB_PredeclaredId = False
  23. Attribute VB_Exposed = True
  24. '----------------------------------------
  25. ' ________  Copyright EAguirre (c)1999
  26. '(        ) eaguirre@comtrade.com.mx
  27. '(  ______)
  28. ' \/
  29. ' BalloonToolTip
  30. '----------------------------------------
  31. Option Explicit
  32. 'User Defined Enumerators
  33. Enum WordBoolValue
  34.     No = 0
  35.     yes = 1
  36. End Enum
  37.  
  38. Enum TextAlignValue
  39.     To_Left = 0
  40.     To_Center = 1
  41.     To_Right = 2
  42. End Enum
  43.  
  44. Enum StyleValue
  45.     Rectangle = 0
  46.     Balloon = 1
  47.     Round_Rectangle = 2
  48. End Enum
  49.  
  50. Enum OrientationValues
  51.     North = 0
  52.     NE = 1
  53.     East = 2
  54.     SE = 3
  55.     South = 4
  56.     Sw = 5
  57.     West = 6
  58.     NW = 7
  59. End Enum
  60.  
  61. 'Default Property Values:
  62. Const m_def_AutoSize = yes
  63. Const m_def_TextAlign = To_Left
  64. Const m_def_WordBreak = yes
  65. Const m_def_Orientation = NE
  66. Const m_def_BackColor = &HFFFF&
  67. Const m_def_ForeColor = 0
  68. Const m_def_Text = " "
  69. Const m_def_Style = Balloon
  70.  
  71. 'Property Variables:
  72. Dim m_AutoSize As WordBoolValue
  73. Dim m_TextAlign As TextAlignValue
  74. Dim m_WordBreak As WordBoolValue
  75. Dim m_Orientation As OrientationValues
  76. Dim m_BackColor As OLE_COLOR
  77. Dim m_ForeColor As OLE_COLOR
  78. Dim m_Font As Font
  79. Dim m_Text As String
  80. Dim m_Style As Variant
  81. Dim m_init As Boolean
  82.  
  83. 'Properties
  84. Public Property Get BackColor() As OLE_COLOR
  85.     BackColor = m_BackColor
  86. End Property
  87. '
  88. Public Property Let BackColor(ByVal New_BackColor As OLE_COLOR)
  89.     m_BackColor = New_BackColor
  90.     PropertyChanged "BackColor"
  91.     UserControl.BackColor = m_BackColor
  92. End Property
  93.  
  94. Public Property Get ForeColor() As OLE_COLOR
  95.     ForeColor = m_ForeColor
  96. End Property
  97.  
  98. Public Property Let ForeColor(ByVal New_ForeColor As OLE_COLOR)
  99.     m_ForeColor = New_ForeColor
  100.     PropertyChanged "ForeColor"
  101.     UserControl.ForeColor = m_ForeColor
  102. End Property
  103.  
  104. Public Property Get Font() As Font
  105. Attribute Font.VB_UserMemId = -512
  106.     Set Font = m_Font
  107. End Property
  108.  
  109. Public Property Set Font(ByVal New_Font As Font)
  110.     Set m_Font = New_Font
  111.     PropertyChanged "Font"
  112.     Set UserControl.Font = m_Font
  113. End Property
  114.  
  115. Public Property Get Text() As String
  116.     Text = m_Text
  117. End Property
  118.  
  119. Public Property Let Text(ByVal New_Text As String)
  120.     m_Text = New_Text
  121.     PropertyChanged "Text"
  122.    
  123. End Property
  124.  
  125. Public Property Get Style() As StyleValue
  126.     Style = m_Style
  127. End Property
  128.  
  129. Public Property Let Style(ByVal new_Style As StyleValue)
  130.     m_Style = new_Style
  131.     PropertyChanged "Style"
  132. End Property
  133.  
  134. Public Property Get Orientation() As OrientationValues
  135.     Orientation = m_Orientation
  136. End Property
  137.  
  138. Public Property Let Orientation(ByVal New_Orientation As OrientationValues)
  139.     m_Orientation = New_Orientation
  140.     PropertyChanged "Orientation"
  141. End Property
  142.  
  143. Public Property Get TextAlign() As TextAlignValue
  144.     TextAlign = m_TextAlign
  145. End Property
  146.  
  147. Public Property Let TextAlign(ByVal New_TextAlign As TextAlignValue)
  148.     m_TextAlign = New_TextAlign
  149.     PropertyChanged "TextAlign"
  150. End Property
  151.  
  152. Public Property Get WordBreak() As WordBoolValue
  153.     WordBreak = m_WordBreak
  154. End Property
  155.  
  156. Public Property Let WordBreak(ByVal New_WordBreak As WordBoolValue)
  157.     m_WordBreak = New_WordBreak
  158.     PropertyChanged "WordBreak"
  159. End Property
  160.  
  161. Public Property Get AutoSize() As WordBoolValue
  162.     AutoSize = m_AutoSize
  163. End Property
  164.  
  165. Public Property Let AutoSize(ByVal New_AutoSize As WordBoolValue)
  166.     m_AutoSize = New_AutoSize
  167.     PropertyChanged "AutoSize"
  168. End Property
  169.  
  170. Private Sub tmrCtrl_Timer()
  171. 'Initialize the control, because when the initialize method
  172. 'fires before the control is loaded
  173.   If Not (UserControl.Parent Is Nothing) Then
  174.     'Init Procedure (Hooking the window)
  175.     InitProc UserControl.Parent
  176.     tmrCtrl.Interval = 0
  177.     tmrCtrl.Enabled = False
  178.   End If
  179. End Sub
  180.  
  181. Private Sub UserControl_Resize()
  182. 'Keep short
  183. Width = 240
  184. Height = 240
  185. End Sub
  186.  
  187. Private Sub UserControl_Terminate()
  188.     TerminateProc
  189. End Sub
  190.  
  191. 'Initialize Properties for User Control
  192. Private Sub UserControl_InitProperties()
  193.     m_BackColor = m_def_BackColor
  194.     m_ForeColor = m_def_ForeColor
  195.     Set m_Font = Ambient.Font
  196.     m_Text = m_def_Text
  197.     m_Style = m_def_Style
  198.     m_Orientation = m_def_Orientation
  199.     m_TextAlign = m_def_TextAlign
  200.     m_WordBreak = m_def_WordBreak
  201.     m_AutoSize = m_def_AutoSize
  202.     m_init = False
  203. End Sub
  204.  
  205. 'Load property values from storage
  206. Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
  207.     m_BackColor = PropBag.ReadProperty("BackColor", m_def_BackColor)
  208.     m_ForeColor = PropBag.ReadProperty("ForeColor", m_def_ForeColor)
  209.     Set m_Font = PropBag.ReadProperty("Font", Ambient.Font)
  210.     m_Text = PropBag.ReadProperty("Text", m_def_Text)
  211.     m_Style = PropBag.ReadProperty("Style", m_def_Style)
  212.     m_Orientation = PropBag.ReadProperty("Orientation", m_def_Orientation)
  213.     m_TextAlign = PropBag.ReadProperty("TextAlign", m_def_TextAlign)
  214.     m_WordBreak = PropBag.ReadProperty("WordBreak", m_def_WordBreak)
  215.     m_AutoSize = PropBag.ReadProperty("AutoSize", m_def_AutoSize)
  216. End Sub
  217.  
  218. 'Write property values to storage
  219. Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
  220.     Call PropBag.WriteProperty("BackColor", m_BackColor, m_def_BackColor)
  221.     Call PropBag.WriteProperty("ForeColor", m_ForeColor, m_def_ForeColor)
  222.     Call PropBag.WriteProperty("Font", m_Font, Ambient.Font)
  223.     Call PropBag.WriteProperty("Text", m_Text, m_def_Text)
  224.     Call PropBag.WriteProperty("Style", m_Style, m_def_Style)
  225.     Call PropBag.WriteProperty("Orientation", m_Orientation, m_def_Orientation)
  226.     Call PropBag.WriteProperty("TextAlign", m_TextAlign, m_def_TextAlign)
  227.     Call PropBag.WriteProperty("WordBreak", m_WordBreak, m_def_WordBreak)
  228.     Call PropBag.WriteProperty("AutoSize", m_AutoSize, m_def_AutoSize)
  229. End Sub
  230.  
  231.